package com.xc.service;

import com.xc.pojo.SysUser;
import com.xc.vo.UserVo;
import org.apache.ibatis.annotations.Select;
import org.springframework.security.core.userdetails.UserDetailsService;

import java.util.List;

public interface SysUserService extends UserDetailsService {
    /**
     * 根据用户名查询用户
     * @param userName
     * @return
     */
    SysUser queryUserByUserName(String userName);

    /**
     * 通过部门id获取用户
     * @param deptId
     * @return
     */
    int getUserByDeptId(Integer deptId);

    /**
     * 根据角色编号查询该角色下的用户的数量
     * @param roleId
     * @return
     */
    int getUserByRoleId(Integer roleId);

    /**
     * 查询用户列表
     * @param userVo
     * @return
     */
    List<SysUser> queryUserList(UserVo userVo);

    /**
     * 添加用户
     * @param sysUser
     * @return
     */
    int addUser(SysUser sysUser);

    /**
     * 修改用户
     * @param sysUser
     * @return
     */
    int updateUser(SysUser sysUser);

    /**
     * 根据id删除
     * @param id
     * @return
     */
    int deleteUser(Integer id);

    int resetPwd(Integer id,Integer userId);

    /**
     * 根据用户名查询用户信息
     * @param userName
     * @return
     */
    SysUser getUserByUserName(String userName);
}
